package com.jxd.ordering.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jxd.ordering.model.User;
import org.apache.ibatis.annotations.Param;

import java.util.Map;

public interface UserMapper {
    /**
     * 新增用户信息
     * @param user 用户实体类
     * @return 是否新增成功
     */
    boolean insertUser(User user);

    /**
     * 修改用户信息
     * @param user 用户实体类
     * @return 是否修改成功
     */
    boolean updateUser(User user);

    /**
     * 批量删除用户信息
     * @param userids 用户编号数组
     * @return 是否删除成功
     */
    boolean deleteUser(@Param("userids") int[] userids);

    /**
     * 分页查询全部用户信息
     * @param page 分页插件
     * @param map 包含 int page, int limit, String uname, int type（1用户 2管理员）
     * @return 查询结果
     */
    IPage<User> selectUserByPage(IPage<User> page, Map map);

    /**
     * 按用户编id查询用户信息
     * @param userid 用户编号
     * @return 查询结果
     */
    Map<String, Object> selectUserByUserid(int userid);

    /**
     * 按用户名查询用户信息
     * @param account 用户名
     * @return 查询结果
     */
    User selectUserByAccount(String account);

    /**
     * 修改密码
     * @param userid 用户id
     * @param pwd 新密码
     * @return 是否修改成功
     */
    boolean updatePassword(int userid, String pwd);

    /**
     * 修改用户姓名
     * @param userid 用户id
     * @param uname 用户姓名
     * @return 是否修改成功
     */
    boolean updateUname(int userid, String uname);
}
